import { defineStore } from 'pinia';

export const useUserStore = defineStore('user', {
    state: () => ({
        token: '',
        userInfo: {
        }
    }),
    actions: {
        // 设置 token
        setToken(token) {
            this.token = token;
        },
        // 设置用户信息
        setUserInfo(userInfo) {
            this.userInfo = userInfo;
        },
        // 设置用户 ID
        setUserId(id) {
            if (this.userInfo) {
                this.userInfo.id = id;
            } else {
                this.userInfo = { id };
            }
        },
        setUserimgUrl(imgUrl) {
            if (this.userInfo) {
                this.userInfo.imgUrl = imgUrl;
            }else {
                this.userInfo = { imgUrl };
            }
        },
        // 清除用户信息和 token
        clearUserInfo() {
            this.token = '';
            this.userInfo = {};
        }
    },
    persist: {
        enabled: true,
        strategies: [
            {
                key: 'user_store',
                storage: localStorage,
                paths: ['token', 'userInfo']
            }
        ]
    }
});
    